Skip to content

Conversation

@boorad
Copy link
Collaborator

@boorad boorad commented Nov 26, 2025

Summary of subtle.importKey/exportKey Implementation

Core Functionality Added:

  1. EC (ECDSA/ECDH) SPKI/PKCS8 Support

    • Implemented ecExportKey() for SPKI and PKCS8 formats
    • Added EC key import/export for P-256, P-384, P-521 curves
    • Both public (SPKI) and private (PKCS8) key formats now supported
  2. HMAC Export Support

    • Implemented JWK and raw format export for HMAC keys
    • Added base64url encoding with period padding for JWK compatibility
  3. Base64url Period Padding

    • Fixed JWK import/export to handle non-standard period padding (used by some JWK implementations)
    • Added period stripping on import and period addition on export for roundtrip compatibility
  4. Error Message Fixes

    • Standardized error messages across implementations
    • Fixed validation order for HMAC zero-length keys

Test Coverage:

  • Added 26 new tests covering EC, RSA-OAEP, RSASSA-PKCS1-v1_5, and secret key formats
  • All tests in the subtle.importKey/exportKey suite now pass

@boorad boorad self-assigned this Nov 26, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Nov 26, 2025

🤖 End-to-End Test Results - Android

Status: ✅ Passed
Platform: Android
Run: 19691692495

📸 Final Test Screenshot

Maestro Test Results - android

Screenshot automatically captured from End-to-End tests and will expire in 30 days


This comment is automatically updated on each test run.

@github-actions
Copy link
Contributor

github-actions bot commented Nov 26, 2025

🤖 End-to-End Test Results - iOS

Status: ✅ Passed
Platform: iOS
Run: 19691692513

📸 Final Test Screenshot

Maestro Test Results - ios

Screenshot automatically captured from End-to-End tests and will expire in 30 days


This comment is automatically updated on each test run.

@boorad boorad merged commit 862a205 into main Nov 26, 2025
5 of 6 checks passed
@boorad boorad deleted the feat/subtle-importKey-exportKey branch November 26, 2025 04:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants